﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using LibHuman;

namespace Human
{
    public partial class frmChonngay : Form
    {
        AccessData mDB = new AccessData();
        Language lan = new Language();
        string m_user = "",sql="";
        public string m_bp="",s_mmyy="",s_ngaylv="";
        public int p_thang=0,p_nam=0;
        DateTime ngay_ht;
        public frmChonngay(string s_makp,DateTime d_ngayht)
        {
            InitializeComponent();
            lan.Read_Language_to_Xml(this.Name.ToString(), this);
            lan.Changelanguage_to_English(this.Name.ToString(), this);
            m_bp = s_makp;
            ngay_ht = d_ngayht;
        }
        
        private void frmChonngay_Load(object sender, EventArgs e)
        {
            m_user = mDB.user;
            sql = "select * from " + m_user + ".bophan";
            if (m_bp != "")
                sql += " where madv='" + m_bp + "' order by sothutu,madv";
            cboKhoa.ValueMember = "madv";
            cboKhoa.DisplayMember = "tenbp";
            cboKhoa.DataSource = mDB.get_data(sql).Tables[0];
            if (m_bp != "")
            {
                cboKhoa.SelectedValue = m_bp;
            }
            //
            string m_ngay = "";
            m_ngay = ngay_ht.ToString("dd/MM/yyyy"); //DateTime.Now.ToString("dd/MM/yyyy", null);
            txtngay.Text = m_ngay;          
        }

        private void cmdCancel_Click(object sender, EventArgs e)
        {
            m_bp = ""; s_mmyy = ""; s_ngaylv = "";
            p_thang = 0;
            p_nam = 0;
            txtngay.Text = "";
            this.Close();

        }

        private void txtngay_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                SendKeys.Send("{Tab}{F4}");
        }

        private void cboKhoa_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                SendKeys.Send("{Tab}");
        }

        private void txtngay_Validated(object sender, EventArgs e)
        {
            txtngay.Text = txtngay.Text.Trim();
            if (txtngay.Text == "  /  /")
            {
                MessageBox.Show(lan.Change_language_MessageText("Yêu cầu nhập ngày !"), AccessData.Msg, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtngay.Focus();
                return;
            }
            if (txtngay.Text != "")
            {
                if (!mDB.kiemtrangayhople(txtngay.Text.Trim()))
                {
                    MessageBox.Show(lan.Change_language_MessageText("Nhập ngày không hợp lệ !"), AccessData.Msg, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtngay.Focus();
                    return;
                }
            }
            string ngay = txtngay.Text.Trim();
            string ngay_cc = ngay.Substring(3, 3) + ngay.Substring(0, 3) + ngay.Substring(6, 4);
            if (Convert.ToDateTime(ngay_cc) > DateTime.Now)
            {
                MessageBox.Show(lan.Change_language_MessageText("Ngày chấm công không lớn hơn ngày hiện tại"), AccessData.Msg, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtngay.Focus();
                return;
            }           
        }
        public bool closes = false;
        private void cmdOk_Click(object sender, EventArgs e)
        {
            DateTime m_d;
            string m_mm = "", m_yy = "";
            m_d = mDB.StringToDateTime(txtngay.Text);
            p_thang = m_d.Month;
            p_nam = m_d.Year;
            m_mm = m_d.Month.ToString().PadLeft(2,'0');
            m_yy = m_d.Year.ToString();
            s_mmyy = m_mm + m_yy.Substring(2);
            s_ngaylv = txtngay.Text;
            if (!mDB.bMmyy(s_mmyy))
            {
                MessageBox.Show(lan.Change_language_MessageText("Dữ liệu chấm công tháng ") + m_mm + lan.Change_language_MessageText(" năm ") + m_yy + lan.Change_language_MessageText(" chưa có!"), AccessData.Msg, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtngay.Focus();
                return;
            }
            if (mDB.khoa_dulieu(s_mmyy))
            {
                MessageBox.Show(lan.Change_language_MessageText("Số liệu chấm công tháng " + s_mmyy + " đã khóa"), AccessData.Msg, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtngay.Focus();
                return;
            }
            if (cboKhoa.SelectedIndex == -1)
            {
                MessageBox.Show(lan.Change_language_MessageText("Yêu cầu chọn khoa phòng để chấm công!"), AccessData.Msg, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cboKhoa.Focus();
                return;
            }
            else
            {
                m_bp = cboKhoa.SelectedValue.ToString();
                closes = true;
            }
            this.Close();
        }
    }
}